function factory() {
  return (function (r) {
    function n(e) {
      if (t[e]) return t[e].exports;
      const o = (t[e] = {
        i: e,
        l: !1,
        exports: {},
      });
      return r[e].call(o.exports, o, o.exports, n), (o.l = !0), o.exports;
    }
    var t = {};
    return (
      (n.m = r),
      (n.c = t),
      (n.d = function (r, t, e) {
        n.o(r, t) ||
          Object.defineProperty(r, t, {
            configurable: !1,
            enumerable: !0,
            get: e,
          });
      }),
      (n.n = function (r) {
        const t =
          r && r.__esModule
            ? function () {
                return r.default;
              }
            : function () {
                return r;
              };
        return n.d(t, 'a', t), t;
      }),
      (n.o = function (r, n) {
        return Object.prototype.hasOwnProperty.call(r, n);
      }),
      (n.p = ''),
      n((n.s = 6))
    );
  })({
    1(r, n, t) {
      function e(r) {
        if (Array.isArray(r)) {
          for (var n = 0, t = Array(r.length); n < r.length; n++) t[n] = r[n];
          return t;
        }
        return Array.from(r);
      }

      function o(r, n) {
        const t = 31 & n;
        return (r << t) | (r >>> (32 - t));
      }

      function u(r, n) {
        for (var t = [], e = r.length - 1; e >= 0; e--) t[e] = 255 & (r[e] ^ n[e]);
        return t;
      }

      function i(r) {
        return r ^ o(r, 9) ^ o(r, 17);
      }

      function f(r) {
        return r ^ o(r, 15) ^ o(r, 23);
      }

      function a(r) {
        let n = 8 * r.length;
        let t = n % 512;
        t = t >= 448 ? 512 - (t % 448) - 1 : 448 - t - 1;
        for (var u = new Array((t - 7) / 8), a = new Array(8), s = 0, p = u.length; s < p; s++) u[s] = 0;
        for (let h = 0, v = a.length; h < v; h++) a[h] = 0;
        n = n.toString(2);
        for (let y = 7; y >= 0; y--)
          if (n.length > 8) {
            const g = n.length - 8;
            (a[y] = parseInt(n.substr(g), 2)), (n = n.substr(0, g));
          } else n.length > 0 && ((a[y] = parseInt(n, 2)), (n = ''));
        for (
          var d = new Uint8Array([].concat(e(r), [128], u, a)),
            w = new DataView(d.buffer, 0),
            m = d.length / 64,
            A = new Uint32Array([
              1937774191, 1226093241, 388252375, 3666478592, 2842636476, 372324522, 3817729613, 2969243214,
            ]),
            b = 0;
          b < m;
          b++
        ) {
          c.fill(0), l.fill(0);
          for (let x = 16 * b, j = 0; j < 16; j++) c[j] = w.getUint32(4 * (x + j), !1);
          for (let U = 16; U < 68; U++) c[U] = f(c[U - 16] ^ c[U - 9] ^ o(c[U - 3], 15)) ^ o(c[U - 13], 7) ^ c[U - 6];
          for (let E = 0; E < 64; E++) l[E] = c[E] ^ c[E + 4];
          for (
            var I = A[0],
              O = A[1],
              P = A[2],
              k = A[3],
              S = A[4],
              _ = A[5],
              D = A[6],
              M = A[7],
              V = void 0,
              q = void 0,
              z = void 0,
              B = void 0,
              C = void 0,
              F = 0;
            F < 64;
            F++
          )
            (C = F >= 0 && F <= 15 ? 2043430169 : 2055708042),
              (V = o(o(I, 12) + S + o(C, F), 7)),
              (q = V ^ o(I, 12)),
              (z = (F >= 0 && F <= 15 ? I ^ O ^ P : (I & O) | (I & P) | (O & P)) + k + q + l[F]),
              (B = (F >= 0 && F <= 15 ? S ^ _ ^ D : (S & _) | (~S & D)) + M + V + c[F]),
              (k = P),
              (P = o(O, 9)),
              (O = I),
              (I = z),
              (M = D),
              (D = o(_, 19)),
              (_ = S),
              (S = i(B));
          (A[0] ^= I), (A[1] ^= O), (A[2] ^= P), (A[3] ^= k), (A[4] ^= S), (A[5] ^= _), (A[6] ^= D), (A[7] ^= M);
        }
        for (var G = [], H = 0, J = A.length; H < J; H++) {
          const K = A[H];
          G.push((4278190080 & K) >>> 24, (16711680 & K) >>> 16, (65280 & K) >>> 8, 255 & K);
        }
        return G;
      }

      function s(r, n) {
        for (n.length > p && (n = a(n)); n.length < p; ) n.push(0);
        const t = u(n, h);
        const o = u(n, v);
        const i = a([].concat(e(t), e(r)));
        return a([].concat(e(o), e(i)));
      }
      for (
        var c = new Uint32Array(68),
          l = new Uint32Array(64),
          p = 64,
          h = new Uint8Array(p),
          v = new Uint8Array(p),
          y = 0;
        y < p;
        y++
      )
        (h[y] = 54), (v[y] = 92);
      r.exports = {
        sm3: a,
        hmac: s,
      };
    },
    6(r, n, t) {
      function e(r, n) {
        return r.length >= n ? r : new Array(n - r.length + 1).join('0') + r;
      }

      function o(r) {
        return r
          .map(function (r) {
            return (r = r.toString(16)), r.length === 1 ? `0${r}` : r;
          })
          .join('');
      }

      function u(r) {
        const n = [];
        let t = r.length;
        t % 2 != 0 && (r = e(r, t + 1)), (t = r.length);
        for (let o = 0; o < t; o += 2) n.push(parseInt(r.substr(o, 2), 16));
        return n;
      }

      function i(r) {
        for (var n = [], t = 0, e = r.length; t < e; t++) {
          const o = r.codePointAt(t);
          if (o <= 127) n.push(o);
          else if (o <= 2047) n.push(192 | (o >>> 6)), n.push(128 | (63 & o));
          else if (o <= 55295 || (o >= 57344 && o <= 65535))
            n.push(224 | (o >>> 12)), n.push(128 | ((o >>> 6) & 63)), n.push(128 | (63 & o));
          else {
            if (!(o >= 65536 && o <= 1114111)) throw (n.push(o), new Error('input is not supported'));
            t++,
              n.push(240 | ((o >>> 18) & 28)),
              n.push(128 | ((o >>> 12) & 63)),
              n.push(128 | ((o >>> 6) & 63)),
              n.push(128 | (63 & o));
          }
        }
        return n;
      }
      const f = t(1);
      const a = f.sm3;
      const s = f.hmac;
      r.exports = function (r, n) {
        if (((r = typeof r === 'string' ? i(r) : Array.prototype.slice.call(r)), n)) {
          if ((n.mode || 'hmac') !== 'hmac') throw new Error('invalid mode');
          let t = n.key;
          if (!t) throw new Error('invalid key');
          return (t = typeof t === 'string' ? u(t) : Array.prototype.slice.call(t)), o(s(r, t));
        }
        return o(a(r));
      };
    },
  });
}

export default factory();
